.page {
	overflow: hidden;
}

// ▛ LOGO ▜
#logo {
	display: flex;

	img {
		width: auto;
		max-width: 100%;
		max-height: 240px;
	}
}
// ▙ LOGO ▟

.pencil-texture {
	position: absolute;
	--remaining-width-to-full: calc(var(--max-width-plus-padding) - min(calc(100vw - 100px), var(--max-width-plus-padding)));
	left: Max(calc(-1 * var(--remaining-width-to-full)), -50px);
	width: 100px;
	mix-blend-mode: multiply;

	@media screen and (max-width: 1000px) {
		width: 40px;
		top: 400px;
		left: -10px;
	}
}

// ▛ QUICK LINKS ▜
#quick-links {
	margin-top: calc(80 * var(--variable-px));
	display: flex;
	gap: calc(var(--font-size-link) * 0.8);
	flex-wrap: wrap;

	div {
		display: flex;
		gap: calc(var(--font-size-link) * 0.8);
		flex-direction: row;
		flex-wrap: wrap;

		img {
			width: calc(var(--font-size-link) * 2);
			display: block;
		}
	}
}
// ▙ QUICK LINKS ▟

// ▛ TAGLINE ▜
#tagline {
	h1 {
		font-size: var(--font-size-intro-heading);
	}

	p {
		font-size: var(--font-size-intro-body);

		@media screen and (max-width: 1400px) {
			max-width: unset !important;
		}
	}
}
// ▙ TAGLINE ▟

.hexagons {
	max-width: var(--max-width);
	margin: auto;
	position: relative;
	bottom: calc(-80 * var(--variable-px));

	div {
		position: absolute;
		top: 0;
		right: 10%;

		svg {
			position: absolute;
			margin: auto;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			transform: translate(-50%) rotate(347deg);
			opacity: 0.25;
			width: Max(1000px, Min(1400px, calc(100vw * 1400 / 1920)));
			height: auto;

			polygon {
				fill: none;
				stroke: gray;
				stroke-width: 1px;
			}
		}
	}
}

// ▛ SCREENSHOTS ▜
// ▙ SCREENSHOTS ▟

// ▛ TODAY AND TOMORROW ▜
// ▙ TODAY AND TOMORROW ▟
//
// ▛ COMMUNITY ▜
#community {
	background-color: var(--color-lime);

	#newsletter {
		#newsletter-success {
			background: var(--color-crimson);
			margin-top: 40px;
			padding: 40px;
			width: 100%;
			color: var(--color-fog);
			box-sizing: border-box;

			&:not(:target) {
				display: none;
			}
		}

		#newsletter-success:target ~ form {
			display: none;
		}

		form {
			width: 100%;
			margin-top: 40px;
			display: flex;
			gap: 20px;
			flex-wrap: wrap;

			.same-line {
				display: flex;
				gap: 20px;
				flex: 100000 1 0;
				flex-wrap: wrap;
				min-width: Min(100%, calc(240px + 20px + 240px));

				div {
					min-height: auto;
				}
			}

			.column {
				display: flex;
				flex-direction: column;
				justify-content: flex-end;
				--input-focus-color: var(--color-ale);

				&.name {
					flex: 1 0 0;
					min-width: 240px;
				}

				&.phone {
					display: none;
				}

				&.email {
					flex: 1 0 0;
					min-width: 240px;
				}

				@media screen and (max-width: 400px) {
					&.name,
					&.email {
						min-width: 100%;
					}
				}

				&.submit {
					flex: 1 0 auto;
				}

				label,
				input {
					flex: 0 0 auto;
				}

				label {
					font-size: var(--font-size-link);
					font-weight: 800;
					margin-bottom: 10px;
					line-height: 1;
				}

				input:not([type="submit"]) {
					flex: 0 0 auto;
					width: 100%;
					height: calc(var(--font-size-link) * 2);
					font-size: calc(var(--font-size-link) * 0.9);
					color: inherit;
					border: var(--border-thickness) solid currentColor;
					border-radius: 0; // Required for iOS Safari
					outline: none;
					margin: 0;
					padding: 0 var(--font-size-link);
					font-family: inherit;
					font-weight: inherit;
					box-sizing: border-box;

					&:focus {
						border-color: var(--input-focus-color);
					}
				}

				input[type="submit"] {
					background: none;
					outline: none;
					cursor: pointer;
					border-radius: 0; // Required for iOS Safari

					&:focus {
						border-color: var(--input-focus-color);
						color: var(--input-focus-color);
					}
				}
			}
		}
	}

	#social .social-links {
		display: flex;
		flex-wrap: wrap;
		gap: 20px 80px;
		margin-top: 40px;

		.column {
			display: flex;
			flex-direction: column;
			gap: 20px;

			a {
				text-decoration: none;
				display: flex;

				img {
					width: 48px;
					height: 48px;
				}

				span {
					line-height: 48px;
					margin: 0;
					margin-left: 20px;
				}
			}
		}
	}
}
// ▙ COMMUNITY ▟

// ▛ VECTOR ART ▜
#vector-art {
	.section {
		align-items: center;

		.demo-artwork {
			display: flex;
			align-items: center;
			margin-top: 20px;

			img {
				width: 128px;
				height: 128px;
				border: 12px solid var(--color-walnut);
				vertical-align: top;
				flex: 0 0 auto;
			}

			p {
				display: flex;
				flex-direction: column;
				max-width: 300px;
				margin-left: 40px;
				text-align: left;
			}
		}
	}
}
// ▙ VECTOR ART ▟

// ▛ IMAGINATE ▜
#imaginate {
	> .section {
		align-items: center;

		h1 {
			text-align: center;

			.alternating-text {
				position: relative;

				span {
					// Move left by half (since it's centered) the average (half the 74px difference) of the variance in word lengths
					margin-left: calc(-1.54em / 2 / 2);
					opacity: 0;
					$alternate-duration: 15s;
					$alternate-words: 5;
					animation: $alternate-duration infinite linear 0s fade-word;

					// The 1st child is the widest
					&:not(:nth-child(1)) {
						position: absolute;
						right: 0;
					}

					@for $i from 1 through $alternate-words {
						&:nth-child(#{$i}) {
							animation-delay: ($alternate-duration / $alternate-words * ($i - 1));
						}
					}

					@keyframes fade-word {
						// Fade in at the start (which begins staggered on each item by `animation-delay`)
						#{0.0%} { opacity: 0; }
						#{2.5%} { opacity: 1; }
						// Remain visible for this item's slice of time, then fade out
						#{0.0% + 100% / ($alternate-words + 1)} { opacity: 1; }
						#{2.5% + 100% / ($alternate-words + 1)} { opacity: 0; }
					}
				}
			}
		}
	}

	> .diptych {
		margin-top: calc(80 * var(--variable-px));

		.section {
			align-items: center;

			h2 {
				text-align: center;
			}
		}
	}

	// #imaginate-creative-concepts-carousel {
	// 	margin-top: 20px;

	// 	.screenshot-details {
	// 		justify-content: center;
	// 	}

	// 	+ blockquote {
	// 		margin-top: 0;
	// 	}
	// }
}
// ▙ IMAGINATE ▟

// ▛ FUNDRAISING ▜
#fundraising {
	background-color: var(--color-seaside);
	color: rgba(0, 0, 0, 0.9);

	.graphic {
		max-width: 400px;
	}
}
// ▙ FUNDRAISING ▟

// ▛ PROCEDURALISM ▜
#proceduralism .section {
	align-items: center;
}
// ▙ PROCEDURALISM ▟

// ▛ DISCIPLINES ▜
#disciplines .section {
	align-items: center;

	.informational-group .informational {
		margin-top: 40px;
	}
}
// ▙ DISCIPLINES ▟

// ▛ DEMO VIDEO ▜
#demo-video {
	max-width: 1000px;
}
// ▙ DEMO VIDEO ▟

// ▛ GET INVOLVED ▜
#get-involved-box {
	background-color: var(--color-lemon);
	background-blend-mode: color-burn;
}
// ▙ GET INVOLVED ▟
